        !! module constants_module
        !! contains parameters for declaring KIND= and the like

        module constants_module
            integer, parameter :: large_int_kind = 4
            integer, parameter :: large_real_kind = 8
        end module constants_module
        !! module utilities_module
        !! for doing little common things
        module utilities_module
        contains
            subroutine mypause()
            print *, " Press <enter> to continue"
            read(*,*)
            end subroutine mypause
        end module utilities_module
C-->Trefor  section begins....
      module accur
      use constants_module
      Implicit none
      real(kind=large_real_kind)::pi,zero,half,one,two,three,four,five,
     *	six,ten
      integer(kind=large_int_kind)::nch_pr
      Parameter(pi=3.1415926535897932d+00,zero=0d0,half=5d-1,one=1d0,
     *	two=2d0,three=3d0,four=4d0,five=5d0,six=6d0,ten=1d1,nch_pr=1)
      end module accur

      module cylinderGrid
      public
      integer,Parameter::irho0max=1
      integer IA,JMax,IMax
!	Parameter(IA=300,JMax=120)
!	Parameter(IA=300,JMax=100)
!     Parameter(IA=100,JMax=50)
      Parameter(IA=150,JMax=70)
!	Parameter(IA=200,JMax=90)
!     Parameter(IA=210,JMax=100)  !worked
!     Parameter(IA=280,JMax=100)  !not worked
!	Parameter(IA=250,JMax=90)   ! worked
!      Parameter(IA=210,JMax=100)   ! worked
!       Parameter(IA=280,JMax=140)   ! not worked
      Parameter(IMax=2*IA-1)
      integer IB,JB,I0
      doubleprecision rho0,rho01,rho02,delta,gamma,CN,CK,Cpsi
      integer NrDAT,NzDAT,NtDAT,indmin(1),indmax(1)
      Parameter(NrDAT=IA,NzDAT=4*IA,NtDAT=JMax)
      REAL X(NrDAT+1),Y(NzDAT+1),phiRcylZplot(NrDAT,NzDAT)
      integer NDIMP,NDP,NIP,ir,jt,i,j,icyl,jcyl
      doubleprecision rspl(0:NrDAT),thet(0:NtDAT),Phirthet(0:NrDAT,
     *	0:NtDAT),rhoRcylZ(0:NzDAT,0:NrDAT),phiRcylZ(0:NrDAT,0:NzDAT),
     *    phiEqu(0:NrDAT)
      doubleprecision alphaPolytrope,UMPolytrope,sigma,ANS,ERROR,sigmaGM
     *	,sigma2pir(0:NrDAT)
      doubleprecision Rcyld(0:NrDAT),Zd(0:NzDAT),radius,thetspl,PhiIntr0
     *	,PhiIntr1,Phid,rhokeep(0:irho0max),Jkeep(0:irho0max),Mkeep(0:
     *irho0max)
      doubleprecision CMcyl(0:NrDAT),CJcyl(0:NrDAT),CMcylg(0:NrDAT),
     *	CJcylg(0:NrDAT),mcyl(0:NrDAT),Rcyl,Rcyla,dRcyl,dZcyl
      doubleprecision rhoOn_r_thetaGrid(0:IA,0:JMax)
      doubleprecision r,dr,dr0,Re,alpha,dalpha,theta,dtheta,phi,phiu,
     *	phiA,phi_B,epsMain,rho,vphi,vphi2
      Dimension r(0:IMax),alpha(0:IMax),theta(0:JMax)
      Dimension phi(0:IMax,0:JMax)
      Logical LinitMcyl
      end module cylinderGrid
